<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="UTF-8" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <title>Document</title>
  </head>
  <body></body>
  <script>
    //   1.if判断接受的数据类型
    let arr = [1, "", undefined, null, { a: 0 }, true];
    let what_type = arr[parseInt(Math.random() * 6)];
    console.log(what_type);
    if (what_type === null) {
      console.log("null类型");
    } else {
      console.log(`${typeof what_type}类型`);
    }
    //   2.案例：输入年份，计算某一年是否是闰年（能被4整除且不能被100整除，或者能被400整除）
    let Year = parseInt(prompt("输入年份："));
    if ((Year % 4 == 0 && Year % 100 != 0) || Year % 400 == 0) {
      alert(`${Year}年是闰年。`);
    } else {
      alert(`${Year}年是平年。`);
    }
    //   3.案例：判断星期几
    let now_date = new Date();
    let key = now_date.getDay();
    switch (key) {
      case 1:
        document.write("今天是周一。");
        break;
      case 2:
        document.write("今天是周二。");
        break;
      case 3:
        document.write("今天是周三。");
        break;
      case 4:
        document.write("今天是周四。");
        break;
      case 5:
        document.write("今天是周五。");
        break;
      case 6:
        document.write("今天是周六。");
        break;
      default:
        document.write("今天是周日。");
    }
    //   4.案例：输入分数，判定成绩等级(if和switch两种写法)
    let score = parseInt(prompt("请输入你的分数："));
    if (score >= 0 && score <= 100) {
      //   if (score == 100) {
      //     alert("无敌");
      //   } else if (score < 100 && score >= 90) {
      //     alert("还行");
      //   } else if (score < 90 && score >= 80) {
      //     alert("一般");
      //   } else if (score < 80 && score >= 60) {
      //     alert("及格");
      //   } else {
      //     alert("史");
      //   }
      switch (true) {
        case score < 60:
          alert("史");
          break;
        case score < 80:
          alert("及格");
          break;
        case score < 90:
          alert("一般");
          break;
        case score < 100:
          alert("还行");
          break;
        case score == 100:
          alert("无敌");
          break;
        default:
          alert("输入错误");
      }
    }
    //   5.输入月份，显示当月的天数;要求： 利用case穿透简化代码
    let month = parseInt(prompt("输入月份："));
    switch (month) {
      case 1:
      case 3:
      case 5:
      case 7:
      case 8:
      case 10:
      case 12:
        alert(`${month}月有31天。`);
        break;
      case 4:
      case 6:
      case 9:
      case 11:
        alert(`${month}月有30天`);
        break;
      default:
        alert("不好说");
        break;
    }
  </script>
</html>
